package com.jiot.controller.device;

import req.functional.inspect.GenerateInspectionReq;
import req.functional.inspect.GetInspectionTitleInfoReq;
import req.functional.inspect.GetListReq;
import req.functional.report.GetDeviceNumCompareReq;
import resp.functional.device.*;

/**
 * @author liling
 * @date 2020/11/19 15:58
 * @description
 **/
public interface DeviceFunctionService {

    /**
     * 查询设备数量
     * @return
     */
    FunctionDeviceCountResp deviceCount();

    /**
     * 设备各状态数量
     * @return
     */
    FunctionalDeviceEveryCountResp countByAreaAndStatus();

    /**
     * 巡检结果
     * @return
     */
    InspectionResp inspection();

    /**
     * 巡检一键通知
     * @param generateInspectionReq
     * @return
     */
    Boolean inspectionNotice(GenerateInspectionReq generateInspectionReq);

    /**
     * 上一次巡检信息
     * @return
     */
    LastInspectionInfoResp lastInspectionInfo();

    /**
     * 巡检台账
     * @param getListReq
     * @return
     */
    InspectionListResp inspectionList(GetListReq getListReq);

    /**
     * 台账页面顶部数据
     * @param getInspectionTitleInfoReq
     * @return
     */
    InspectionTotalInfoResp inspectionTitleInfo(GetInspectionTitleInfoReq getInspectionTitleInfoReq);

    /**
     * 只能用户巡检统计
     * @return
     */
    InspectionCountResp inspectionCount();

    /**
     * 职能端设备各数量统计和比较
     * @param getDeviceNumCompareReq
     * @return
     */
    DeviceCountCompareResp deviceNumCompare(GetDeviceNumCompareReq getDeviceNumCompareReq);
}
